package com.csust.cg.mongodb.mapper;

import com.csust.cg.mongodb.domain.entity.ConnectGroup;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @author chenguang
 */

public interface ConnectGroupMapper {

    /**
     * 通过userId获取该用户的所有分组信息
     * @param userId 用户ID
     * @return 分组列表
     */
    @Select("SELECT * FROM connect_group WHERE user_id = #{userId}")
    public List<ConnectGroup> selectGroupListByUserId(@Param("userId") String userId);

    /**
     * 创建一个分组
     * @param group 分组信息
     * @return 分组ID
     */
    @Insert("INSERT INTO connect_group(user_id, group_name, create_time) VALUES (#{userId}, #{groupName}, #{createTime})")
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    public void insertGroup(ConnectGroup group);

    /**
     * 通过分组ID修改分组信息
     * @param group 分组信息
     * @return 影响行数
     */
    @Update("UPDATE connect_group SET group_name = #{groupName} WHERE id = #{id}")
    public Integer updateGroupById(ConnectGroup group);

    /**
     * 通过分组ID删除分组信息
     * @param id 分组ID
     * @return 影响行数
     */
    @Delete("DELETE FROM connect_group WHERE id = #{id}")
    public Integer deleteGroupById(@Param("id") Integer id);
}
